From: Keir Fraser Date: Tue, 20 Apr 2010 06:54:47 +0000 (+0100) Subject: x86: No need to sync_local_execstate() during CPU hot-unplug. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12335 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=6da2b1ae559126b753c7c653b31bd83b56962bbc;p=xen.git x86: No need to sync_local_execstate() during CPU hot-unplug. This is done implicitly when we enter stopmachine_run() context, because the underlying tasklet mechanism performs the sync before running a tasklet handler. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index b5aaa020f3..f3368302f6 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -1002,11 +1002,7 @@ void cpu_exit_clear(void) { int cpu = raw_smp_processor_id(); - /* Previous non-idle state should be synchronised already. */ - if (__sync_local_execstate()) - BUG(); - - cpucount --; + cpucount--; cpu_uninit(); cpu_clear(cpu, cpu_callout_map); @@ -1299,13 +1295,6 @@ int __cpu_disable(void) remove_siblinginfo(cpu); - /* - * If we are running the idle vcpu, sync last non-idle vcpu's state - * before changing cpu_online_map. If we are running non-idle vcpu, - * we will synchronously sync the state in context_switch() later. - */ - sync_local_execstate(); - /* It's now safe to remove this processor from the online map */ cpu_clear(cpu, cpu_online_map); fixup_irqs();